*** Game: Dungeon Quest V.2.0*** *** notes are in astericks *** *** written:February 2, 1998 *** *** this program is copyright 1998 to Slave Jesus *** *** email: Slave_Jesus@bigfoot.com URL: www.bigfoot.com/~Slave_Jesus*** *** free to distribute and modify, but indicate modifications and leave in my credit *** *** Directions: You are the O and you awaken in a mysterious dungeon. You must find 5 keys (~) to escape. Use the arrows to move around and walk over the ~ to pick it up (it won't count the key until the next room though). Your stats are listed on the right side. You will gain back 1 magic every 20 steps.The room # is the room you are in; there are 25 rooms in my version. The blanks are doors you can go through. Along the way,you will encounter monsters. You can do four things here: - press left to try to run, but failure to get away will cost 2 hp - press right to attack, the stronger attack wins and the loser takes 2 damage - press up to cast an attack spell at the cost of 1 magic, you lose 2hp if you have no magic - press down to cast heal and gain back 8 lost hp, you again lose 2 hp if you have no magic If you win, you get experience, and if your experience is greater than 50, your power increases. If you find the five keys, you will escape and get a score. The lower the score, the better. Happy exploring!! *** *** Prog: Dungeon *** /ClrText /while /getkey =/= 31 /locate 5,2,"DUNGEON QUEST" /locate 2,4," " *** 21 spaces *** /locate 2,4,"PRESS EXE TO START" /whileend /prog "main" *** Prog: Main *** 5->A 4->B 6->C 12->D 12->E /int 25/rnd#+1->F 6->G 0->H 0->Q 0->M ~ P 0->X /prog "setkeys" /prog "border" /prog "doors" /prog "stats" /locate A,B, "O" *** capital o *** /do /if /getkey=27 /or /getkey=28 /or /getkey=37 /or /getkey=38 /then /prog "movehero" Q+1->Q /if Q=20 /then g+1->G 0->Q /prog "stats" /ifend W+1->W /if (/int 100/rnd#+1)<5 /then /prog "combat" /prog "border" /prog "doors" /prog "stats" /locate A,B,"O" /ifend /ifend /LpWhile H<>5 /or D>0 /If D=<0 /then /stop /clrtext /locate 5,5,"YOUR SCORE" /locate 10,6,W *** Prog: Setkeys *** /int 5/rnd#+1->R /int 5/rnd#+6->S /int 5/rnd#+11->T /int 5/rnd#+16->U /int 5/rnd#+21->V *** Prog: Border *** 1->r *** r is the little r, beside the alpha key 1->& *** & is theta, the circle with the line through it, alpha+^ *** /while &<14 /locate r,1,"#" /locate r,7,"#" r+1->r &+1->% /whileend 2->r 1->& /while &<6 /locate 1,r,"#" /locate 13,r,"#" r+1->r &+1->& /whileend *** Prog: Doors *** 0->M~P /if F=1 /or F=3 /or F=4 /or F=7 /or F=8 /or F=10 /or F=11 /or F=13 /or F=15 /or F=17 /or F=18 /or F=19 /or F=20 ***any better way to do this?*** /then /locate 7,1," " *** one space *** 1->M /ifend /if F= 6,8,9,12,13,15,16,18,20,22,23,24,25 *** follow the format above with these # *** /then /locate 7,7," " 1->N /ifend /if F= 3,5,7,10,12,14,15,17,22,23,25 /then /locate 1,4," " 1->O /ifend /if F=2,4,6,9,11,13,14,16,21,22,24 /then /locate 13,4," " 1->P /ifend *** Prog: Stats *** /locate 15,1,"SKLL" /locate 15,2,"STMN" /locate 15,3,"/MAX" /locate 15,4,"EXP" /locate 15,5,"MAGI" /locate 15,6,"KEYS" /locate 15,7,"ROOM" /locate 20,1,C /locate 20,2,D /locate 20,3,E /locate 20,4,X /locate 20,5,G /locate 20,6,H /locate 20,7," " *** three spaces *** /locate 20,7,F *** Prog: Movehero *** /if F=R /or F=S /or F=T /or F=U /or F=V /then locate 7,4,"~" /ifend /locate A,B," " *** one space *** /getkey=38=>A-1->A /getkey=27=>A+1->A /getkey=28=>B-1->B /getkey=37=>B+1->B /prog "newroom" B<2=>2->B B>6=>6->B A<2=>2->A A>12=>12->A /if A=7 /and B=4 /then /if F=R /then 0->R H+1->H /ifend /if F=S /then 0->S H+1->H /ifend /if F=T /then 0->T H+1->H /ifend /if F=U /then 0->U H+1->H /ifend /if F=V /then 0->V H+1->H /ifend /ifend /locate A,B,"O" *** Prog: Newroom *** /If A=7 /and B=1 /and M=1 /then F+5->F 6->B 1->Z /ifend /if A=7 /and B=7 /and N=1 /then F-5->F 2->B 1->Z /ifend /if A=1 /and B=4 /and O=1 /then F-1->F 12->A 1->Z /ifend /if A=13 /and B=4 /and P=1 /then F+1->F 2->A 1->Z /ifend /if Z=1 /then /locate 7,1,"#" /locate 7,7,"#" /locate 13,4,"#" /locate 1,4,"#" /locate 7,4," " 0->Z /prog "doors" /prog "stats" /ifend *** Prog: Combat *** /clrtext /for 1->Z /to 10 /locate 9,4,"FIGHT" /locate 9,4," " /next 0->K /Int 10/ran#+2->I /Int 22/ran#+2->J I+J->Y /do /locate 1,1,"SKILL" /locate 1,2,"STAMN" /locate 1,3,"MAGIC" /locate 11,1,"MONSK" /locate 11,2,"MSTMN" /locate 7,1,C /locate 7,2," " *** four spaces *** /locate 7,2,D /locate 7,3," " /locate 7,3,G /locate 17,1,I /locate 17,2," " /locate 17,2,J /locate 9,5,"O" *** capital o *** /locate 9,6,"+" /locate 9,7,"^" /locate 14,5,"&" *** theta, remember? *** /locate 14,6,"T" /locate 14,7,"^" /if /getkey=27 /then /prog "attack" /ifend /if /getkey=28 /then /prog "magic" /ifend /if /getkey=37 /then /prog "heal" /ifend /if /getkey=38 /then /prog "run" D<0=>1->K J<0=>2->K /lpwhile K=0 K=1=>/prog "die" K=2=>/prog "win" /clrtext *** Prog: Attack *** /int 6/ran#+C->r /int 6/ran#+I->& /if r>=& /then /locate 5,4,"YOU HIT" /for 1->Z /to 10 /locate 13,6,"---" /locate 13,6,"~~~" /locate 13,6," T " /next J-2->J /else /locate 5,4,"YOU'RE HIT" /for 1->Z /to 10 /locate 8,6,"---" /locate 8,6,"~~~" /locate 8,6," + " /next D-2->D /ifend /locate 5,4," " *** about fifteen spaces *** *** Prog: Magic *** /if G>0 /then G-1->G J-8->J /for 1->Z /to 10 /locate 14,3,"*" /locate 14,3," " /locate 14,4,"*" /locate 14,4," " /locate 14,5,"*" /locate 14,6,"&" /next /else /for 1-Z /to 10 /locate 5,4,"NO MAGIC" /next E-2->E /ifend *** Prog: Heal *** /if G>0 /then G-1->G /locate 5,4,"YOU CAST HEAL" /for 1->Z /to 10 /locate 8,6,"*~*" /locate 8,6,"~*~" /locate 8,6," + " /next D+6->D D>E=>E->D /else /for 1->Z /to 10 /locate 5,4,"NO MAGIC" /next D-2->D /ifend /locate 5,4," " *** eight spaces *** *** Prog: Win *** /clrtext /for 1->Z /to 10 /locate 5,3, "YOU WIN" /locate 5,3, " " /next Y+X->X /if X>=50 /then 0->X /for 1->A /to 10 /locate 5,3,"Skill +1" /locate 5,3," " /next /for 1->Z /to 10 /locate 2,3,"STAMINA +2" /locate 2,3," " /next C+1->C E+2->E /ifend *** Prog: Die *** /clrtext /for 1->A /to 10 /locate 5,4,"YOU"RE DEAD" /locate 5,4," " /next /stop *** Prog: Run *** /int 4/ran#+1->Z /if Z=1 /then 3->K /else D-2->D /ifend